/**
 * 
 */
package com.gwcloud.leetcode.offers;

import java.util.LinkedList;
import java.util.Queue;

import com.gwcloud.leetcode.common.datastructure.TreeNode;

/**
 * @ClassName   : Leetcode0550 
 * @author      : ganwei 
 * @date        : 2020年6月8日
 * @Description : Leetcode0550 二叉树的深度
 */
public class Leetcode0550 {
	/**
	 * -广度优先遍历
	 */
    public int maxDepth(TreeNode root) {
    	if(root == null){
    		return 0;
    	}
    	Queue<TreeNode> q = new LinkedList<TreeNode>();
    	q.offer(root);
    	int res = 0;
    	while(!q.isEmpty()){
    		int len = q.size();
    		
    		for(int i = 0; i < len; i++){
    			TreeNode n = q.poll();
    			if(n.left != null){
    				q.offer(n.left);
    			}
    			if(n.right != null){
    				q.offer(n.right);
    			}
    		}
    		res++;
    	}
    	return res;
    	
    }
}
